﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;
using distrilan;

public partial class admin_Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //se nella sessione non c'e utente amministratore, redirigo l'utente alla pagina di login
        if (SiteUser.IsLoggedAdmin() == false)
            Server.Transfer("index.aspx");
    }


    /// <summary>
    /// quando viene selezionato un elemento nella lista
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void DropDownListBlocchettiHome_SelectedIndexChanged(object sender, EventArgs e)
    {
        panelBlocchettiHome.Visible = false;
        if (DropDownListBlocchettiHome.SelectedItem.Value != "0")
            panelBlocchettiHome.Visible = true;

        SqlConnection connection = new SqlConnection(distrilan.Utility.GetDBConnectionString());
        string query = "SELECT Testo FROM testi_blocchetti_home WHERE ID=" +  DropDownListBlocchettiHome.SelectedItem.Value ;

        //prendo i dati dell'articolo "random"
        try
        {
            connection.Open();
            DataSet ds = new DataSet();
            SqlDataAdapter adapter = new SqlDataAdapter(query, connection);
            adapter.Fill(ds);
            foreach (DataRow row in ds.Tables[0].Rows)
            {
                txtTesto.Text = row["Testo"].ToString();
            }
        }
        catch (Exception)
        { }
        finally
        {
            connection.Close();
        }

    }

    protected void btnModificaBlocchetti_Click(object sender, EventArgs e)
    {
        lblMessage.Text = "";
        String testoBlocchetto = txtTesto.Text;
        testoBlocchetto = Utility.PreparaStringaPerDB(testoBlocchetto, 240);

        if (txtTesto.Text.Length > 240)
        {
            lblMessage.Text = "testo troppo lungo, superiore a 240 caratteri";
            lblMessage.CssClass = "lblErrore";
            return;
        }

        SqlConnection connection = new SqlConnection(distrilan.Utility.GetDBConnectionString());

        try
        {
            connection.Open();
            string query = "UPDATE testi_blocchetti_home SET Testo ='" + testoBlocchetto + "' WHERE ID=" + DropDownListBlocchettiHome.SelectedItem.Value;

            SqlCommand cmd = new SqlCommand(query, connection);
            if (cmd.ExecuteNonQuery() != 1)
            {
                lblMessage.Text = "Errore interno al DB: modifica blocchetto home fallita";
                lblMessage.CssClass = "lblErrore";
                return;
            }
        }
        catch (Exception ex)
        {
            lblMessage.Text = ex.Message;
            lblMessage.CssClass = "lblErrore";
            return;
        }
        finally
        {
            connection.Close();
        }


        lblMessage.Text = "testo modificato correttamente";
        lblMessage.CssClass = "lblOk";

        //string path = "../" + ConfigurationManager.AppSettings["dir_img_news"].ToString();

        ////salvo su hdd l'immagine della news
        //String nomeImmagine = FileUpload1.PostedFile.FileName;
        //try
        //{
        //    string toSave = path + "/" + nomeImmagine;
        //    FileUpload1.PostedFile.SaveAs(Server.MapPath(toSave));
        //}
        //catch (Exception ex)
        //{
        //    lblMessage.Text = ex.Message;
        //    lblMessage.Text += " <br/><br/> errore in fase salvataggio immagine della news su disco.<br/> ritentare l'immissione CAMBIANDO NOME ALL'IMMAGINE o contattare l'amministratote";
        //    lblMessage.CssClass = "lblErrore";
        //    return;
        //}
        //SqlConnection connection = new SqlConnection(distrilan.Utility.GetDBConnectionString());
        ////salvo tutto quanto su DB
        //try
        //{
        //    connection.Open();
        //    string query = "INSERT INTO newsEPromo (data, titolo, testo, immagine, tipologia) values ('";
        //    query += txtData.Text + "','";
        //    query += txtTitoloNews.Text.Replace("'","''") + "','";
        //    query += txtTesto.Text.Replace("'", "''") + "','";
        //    query += nomeImmagine + "','";
        //    query += DropDownListNewsOPromo.SelectedValue + "')";

        //    SqlCommand cmd = new SqlCommand(query, connection);
        //    if (cmd.ExecuteNonQuery() != 1)
        //    {
        //        lblMessage.Text = "Errore interno al DB: inserimento della news fallito";
        //        lblMessage.CssClass = "lblErrore";
        //        return;
        //    }
        //}
        //catch (Exception ex)
        //{
        //    lblMessage.Text = ex.Message;
        //    lblMessage.CssClass = "lblErrore";
        //    return;
        //}
        //finally
        //{
        //    connection.Close();
        //}

        //lblMessage.Text = "news o promo inserita con successo!";
        //txtData.Text = "";
        //txtTesto.Text = "";
        //txtTitoloNews.Text = "";
       
        //lblMessage.CssClass = "lblOk";
    }


    /// <summary>
    /// metodo chiamato quando si ha l'inizializzazione della text area per il controllo dei caratteri inseriti
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    public void initTextBox_descrizione_Breve(object sender, EventArgs e)
    {
        txtTesto.Attributes.Add("OnKeyUp", "calcCharLeft(" + txtTesto.UniqueID + ")");
        txtTesto.Attributes.Add("OnChange", "calcCharLeft(" + txtTesto.UniqueID + ")");
    }

    

}
